-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
05 우선순위큐 #5
base: main
Are you sure you want to change the base?
The head ref may contain hidden characters: "05_\uC6B0\uC120\uC21C\uC704\uD050"
Conversation
추가제출 : 2607 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[우선순위 큐 알고리즘 문제 코드 리뷰 완료]
14235(P2), 2075(P3)
한선님 안녕하세요!
과제하시느라 수고 많으셨습니다!! 어려운 문제인데도 잘 풀어주셨네요! 🥰
코드에 대한 더 자세한 주석이 있으면 더 좋을 것 같아요. 😎
몇 가지 사소한 코멘트 드렸습니다.
궁금한 점이 있으면 리뷰어를 호출해주세요!
cin>>k; | ||
if(k!=0){//a값을 입력받는 경우 | ||
a=k; | ||
for(int j=0; j<a; j++){ | ||
cin>>k; | ||
pq.push(k); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P2. k와 a를 다른 변수로 사용하는 게 좋아요! k로 입력받았으면 반복문의 범위를 for (int j=0; j<k; j++)
로 두고 반복문 안에서 a를 입력받아 pq에 삽입해주세요~!
for(int i=0; i<ans.size(); i++){ | ||
cout<<ans[i]<<"\n"; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
연산을 진행하며 vector에 결과값을 저장해서 한번에 출력하는 지금의 방식도 좋지만 하나하나 진행할동안 바로 출력해줘도 좋을 것 같아요!
|
||
using namespace std; | ||
|
||
int main() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P3. 문제 조건에 맞게 잘 구현해주셨네요!
05_우선순위큐/2607.cpp
Outdated
|
||
using namespace std; | ||
|
||
vector<char> s; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
알튜비튜에서는 의도치 않은 값 변경 가능성, 가독성 저하 등의 이유로 꼭 필요한 상황이 아니면 전역변수 사용을 지양하도록 하고 있습니다. 메인함수 안에서 선언하여 외부함수로 전달해주시면 좋을 것 같아요!
05_우선순위큐/2607.cpp
Outdated
void wordCheck(int &count, string in){ | ||
vector<char> cmp(in.size()); | ||
|
||
for(int i=0; i<in.size(); i++){ | ||
cmp.push_back(in[i]); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
지금 메인함수와 wordCheck함수에서 in이라는 변수명과, 특정값을 벡터에 삽입하는 과정이 반복되고 있습니다. 이 경우 가독성을 위하여 변수명에 차이를 두는 것이 좋을 것 같습니다.😊
05_우선순위큐/2607.cpp
Outdated
for(int i=0; i<in.size(); i++){ | ||
wordCheck(count, in[i]); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
들어오는 단어들을 벡터에 넣어두고, 그 벡터에서 단어들을 하나씩 꺼내 다시 for문을 돌며 wordCheck 함수를 실행하고 있는데요! 그럴 필요 없이 n-1만큼 반복문을 돌며 그때그때 단어를 입력받고 wordCheck를 호출하면 더 간결해질 것 같습니다.👍
05_우선순위큐/2607.cpp
Outdated
int samestructCheck(vector<char> cmp){//cmp가 s에 포함된다면~ 을 check 포함관계인지 | ||
//다른 문자의 개수를 n으로 세기 | ||
//같은 구성이라면 | ||
int k=0;//s에 포함되지 않는 cmp의 문자 종류의 개수 | ||
int flag=0; | ||
if(cmp.size()<s.size()) swap(cmp, s); | ||
for(int i=0; i<s.size(); i++){ | ||
for(int j=0; j<cmp.size(); j++){ | ||
if(s[i]==cmp[j]){ | ||
flag=1; | ||
break; | ||
} | ||
} | ||
if(flag!=1) k++; | ||
flag=0; | ||
} | ||
return k; | ||
|
||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
우리가 비교하려는 두 단어가 모두 알파벳으로 이루어져 있고, 우리가 알고자 하는 것이 두 단어가 얼마만큼의 차이를 가지는가 임을 생각해봅시다. 어떤 새로운 공간에 두 단어의 알파벳의 개수를 저장해 놓으면 비교가 쉬워질 것 같아요!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[추가제출 확인 완료]
안녕하세요 한선님! 추가제출 확인되었습니다. 이전에 제출하신 2607번에 코멘트 몇 가지 달아두었습니다. 수고 많으셨습니다.😍
인적사항
학번 : 2271092
이름 : 이한선
과제제출
기존 제출 : 14235, 2075, 2607
추가제출 : 2607